jQuery(function (t) {
  if ("undefined" == typeof wc_cart_params) return !1;
  var e = function (t) {
      return wc_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", t);
    },
    o = function (t) {
      return t.is(".processing") || t.parents(".processing").length;
    },
    c = function (t) {
      o(t) ||
        t.addClass("processing").block({
          message: null,
          overlayCSS: { background: "#fff", opacity: 0.6 },
        });
    },
    i = function (t) {
      t.removeClass("processing").unblock();
    },
    r = function (e, o) {
      var c,
        i,
        r,
        s = t.parseHTML(e),
        p = t(".woocommerce-cart-form", s),
        u = t(".cart_totals", s),
        m =
          ((c = t(
            ".woocommerce-error, .woocommerce-message, .woocommerce-info",
            s
          )),
          (i = []),
          (r = c),
          c.each(function (e) {
            var o = t(this).text();
            "undefined" == typeof i[o] ? (i[o] = !0) : r.splice(e, 1);
          }),
          r);
      if (0 !== t(".woocommerce-cart-form").length) {
        if (
          (o ||
            t(
              ".woocommerce-error, .woocommerce-message, .woocommerce-info"
            ).remove(),
          0 === p.length)
        ) {
          if (t(".woocommerce-checkout").length)
            return void window.location.reload();
          var d = t(".wc-empty-cart-message", s).closest(".woocommerce");
          t(".woocommerce-cart-form__contents")
            .closest(".woocommerce")
            .replaceWith(d),
            m.length > 0 && n(m),
            t(document.body).trigger("wc_cart_emptied");
        } else
          t(".woocommerce-checkout").length &&
            t(document.body).trigger("update_checkout"),
            t(".woocommerce-cart-form").replaceWith(p),
            t(".woocommerce-cart-form")
              .find(':input[name="update_cart"]')
              .prop("disabled", !0),
            m.length > 0 && n(m),
            a(u);
        t(document.body).trigger("updated_wc_div");
      } else window.location.reload();
    },
    a = function (e) {
      t(".cart_totals").replaceWith(e),
        t(document.body).trigger("updated_cart_totals");
    },
    n = function (e, o) {
      o ||
        (o =
          t(".woocommerce-notices-wrapper:first") ||
          t(".wc-empty-cart-message").closest(".woocommerce") ||
          t(".woocommerce-cart-form")),
        o.prepend(e);
    },
    s = {
      init: function (e) {
        (this.cart = e),
          (this.toggle_shipping = this.toggle_shipping.bind(this)),
          (this.shipping_method_selected =
            this.shipping_method_selected.bind(this)),
          (this.shipping_calculator_submit =
            this.shipping_calculator_submit.bind(this)),
          t(document).on(
            "click",
            ".shipping-calculator-button",
            this.toggle_shipping
          ),
          t(document).on(
            "change",
            "select.shipping_method, :input[name^=shipping_method]",
            this.shipping_method_selected
          ),
          t(document).on(
            "submit",
            "form.woocommerce-shipping-calculator",
            this.shipping_calculator_submit
          ),
          t(".shipping-calculator-form").hide();
      },
      toggle_shipping: function () {
        return (
          t(".shipping-calculator-form").slideToggle("slow"),
          t("select.country_to_state, input.country_to_state").trigger(
            "change"
          ),
          t(document.body).trigger("country_to_state_changed"),
          !1
        );
      },
      shipping_method_selected: function () {
        var o = {};
        t(
          "select.shipping_method, :input[name^=shipping_method][type=radio]:checked, :input[name^=shipping_method][type=hidden]"
        ).each(function () {
          o[t(this).data("index")] = t(this).val();
        }),
          c(t("div.cart_totals"));
        var r = {
          security: wc_cart_params.update_shipping_method_nonce,
          shipping_method: o,
        };
        t.ajax({
          type: "post",
          url: e("update_shipping_method"),
          data: r,
          dataType: "html",
          success: function (t) {
            a(t);
          },
          complete: function () {
            i(t("div.cart_totals")),
              t(document.body).trigger("updated_shipping_method");
          },
        });
      },
      shipping_calculator_submit: function (e) {
        e.preventDefault();
        var o = t(e.currentTarget);
        c(t("div.cart_totals")),
          c(o),
          t("<input />")
            .attr("type", "hidden")
            .attr("name", "calc_shipping")
            .attr("value", "x")
            .appendTo(o),
          t.ajax({
            type: o.attr("method"),
            url: o.attr("action"),
            data: o.serialize(),
            dataType: "html",
            success: function (t) {
              r(t);
            },
            complete: function () {
              i(o), i(t("div.cart_totals"));
            },
          });
      },
    },
    p = {
      init: function () {
        (this.update_cart_totals = this.update_cart_totals.bind(this)),
          (this.input_keypress = this.input_keypress.bind(this)),
          (this.cart_submit = this.cart_submit.bind(this)),
          (this.submit_click = this.submit_click.bind(this)),
          (this.apply_coupon = this.apply_coupon.bind(this)),
          (this.remove_coupon_clicked = this.remove_coupon_clicked.bind(this)),
          (this.quantity_update = this.quantity_update.bind(this)),
          (this.item_remove_clicked = this.item_remove_clicked.bind(this)),
          (this.item_restore_clicked = this.item_restore_clicked.bind(this)),
          (this.update_cart = this.update_cart.bind(this)),
          t(document).on("wc_update_cart added_to_cart", function () {
            p.update_cart.apply(p, [].slice.call(arguments, 1));
          }),
          t(document).on(
            "click",
            ".woocommerce-cart-form :input[type=submit]",
            this.submit_click
          ),
          t(document).on(
            "keypress",
            ".woocommerce-cart-form :input[type=number]",
            this.input_keypress
          ),
          t(document).on("submit", ".woocommerce-cart-form", this.cart_submit),
          t(document).on(
            "click",
            "a.woocommerce-remove-coupon",
            this.remove_coupon_clicked
          ),
          t(document).on(
            "click",
            ".woocommerce-cart-form .product-remove > a",
            this.item_remove_clicked
          ),
          t(document).on(
            "click",
            ".woocommerce-cart .restore-item",
            this.item_restore_clicked
          ),
          t(document).on(
            "change input",
            ".woocommerce-cart-form .cart_item :input",
            this.input_changed
          ),
          t('.woocommerce-cart-form :input[name="update_cart"]').prop(
            "disabled",
            !0
          );
      },
      input_changed: function () {
        // Ваша логика обработки изменения ввода
      },
      update_cart: function (e) {
        var o = t(".woocommerce-cart-form");
        c(o),
          c(t("div.cart_totals")),
          t.ajax({
            type: o.attr("method"),
            url: o.attr("action"),
            data: o.serialize(),
            dataType: "html",
            success: function (t) {
              r(t, e);
            },
            complete: function () {
              i(o),
                i(t("div.cart_totals")),
                t.scroll_to_notices(t('[role="alert"]'));
            },
          });
      },
      update_cart_totals: function () {
        c(t("div.cart_totals")),
          t.ajax({
            url: e("get_cart_totals"),
            dataType: "html",
            success: function (t) {
              a(t);
            },
            complete: function () {
              i(t("div.cart_totals"));
            },
          });
      },
      input_keypress: function (e) {
        if (13 === e.keyCode) {
          var o = t(e.currentTarget).parents("form");
          try {
            o[0].checkValidity() && (e.preventDefault(), this.cart_submit(e));
          } catch (c) {
            e.preventDefault(), this.cart_submit(e);
          }
        }
      },
      cart_submit: function (e) {
        var c = t(document.activeElement),
          i = t(":input[type=submit][clicked=true]"),
          r = t(e.currentTarget);
        if (
          (r.is("form") || (r = t(e.currentTarget).parents("form")),
          0 !== r.find(".woocommerce-cart-form__contents").length)
        )
          return (
            !o(r) &&
            void (i.is(':input[name="update_cart"]') || c.is("input.qty")
              ? (e.preventDefault(), this.quantity_update(r))
              : (i.is(':input[name="apply_coupon"]') || c.is("#coupon_code")) &&
                (e.preventDefault(), this.apply_coupon(r)))
          );
      },
      submit_click: function (e) {
        t(":input[type=submit]", t(e.target).parents("form")).removeAttr(
          "clicked"
        ),
          t(e.target).attr("clicked", "true");
      },
      apply_coupon: function (o) {
        c(o);
        var r = this,
          a = t("#coupon_code"),
          s = a.val(),
          p = { security: wc_cart_params.apply_coupon_nonce, coupon_code: s };
        t.ajax({
          type: "POST",
          url: e("apply_coupon"),
          data: p,
          dataType: "html",
          success: function (e) {
            t(
              ".woocommerce-error, .woocommerce-message, .woocommerce-info"
            ).remove(),
              n(e),
              t(document.body).trigger("applied_coupon", [s]);
          },
          complete: function () {
            i(o), a.val(""), r.update_cart(!0);
          },
        });
      },
      remove_coupon_clicked: function (o) {
        o.preventDefault();
        var r = this,
          a = t(o.currentTarget).closest(".cart_totals"),
          s = t(o.currentTarget).attr("data-coupon");
        c(a);
        var p = { security: wc_cart_params.remove_coupon_nonce, coupon: s };
        t.ajax({
          type: "POST",
          url: e("remove_coupon"),
          data: p,
          dataType: "html",
          success: function (e) {
            t(
              ".woocommerce-error, .woocommerce-message, .woocommerce-info"
            ).remove(),
              n(e),
              t(document.body).trigger("removed_coupon", [s]),
              i(a);
          },
          complete: function () {
            r.update_cart(!0);
          },
        });
      },
      quantity_update: function (e) {
        c(e),
          c(t("div.cart_totals")),
          t("<input />")
            .attr("type", "hidden")
            .attr("name", "update_cart")
            .attr("value", "Update Cart")
            .appendTo(e),
          t.ajax({
            type: e.attr("method"),
            url: e.attr("action"),
            data: e.serialize(),
            dataType: "html",
            success: function (t) {
              r(t);
            },
            complete: function () {
              i(e),
                i(t("div.cart_totals")),
                t.scroll_to_notices(t('[role="alert"]'));
            },
          });
      },
      item_remove_clicked: function (e) {
        e.preventDefault();
        var o = t(e.currentTarget),
          a = o.parents("form");
        c(a),
          c(t("div.cart_totals")),
          t.ajax({
            type: "GET",
            url: o.attr("href"),
            dataType: "html",
            success: function (t) {
              r(t);
            },
            complete: function () {
              i(a),
                i(t("div.cart_totals")),
                t.scroll_to_notices(t('[role="alert"]'));
            },
          });
      },
      item_restore_clicked: function (e) {
        e.preventDefault();
        var o = t(e.currentTarget),
          a = t("form.woocommerce-cart-form");
        c(a),
          c(t("div.cart_totals")),
          t.ajax({
            type: "GET",
            url: o.attr("href"),
            dataType: "html",
            success: function (t) {
              r(t);
            },
            complete: function () {
              i(a), i(t("div.cart_totals"));
            },
          });
      },
    };

  s.init(p);
  p.init();
});
